<!DOCTYPE html>
<title>Test element names are case-insensitive only in ASCII range</title>
<link rel="help" href="https://www.w3.org/TR/selectors-4/#case-sensitive">
<link rel="author" title="Koji Ishii" href="mailto:kojii@chromium.org">
<script src='../../resources/testharness.js'></script>
<script src='../../resources/testharnessreport.js'></script>
<style>
\212A {
  display: block;
  background: lime;
  width: 200px;
  height: 100px;
}
</style>
<body>
  <p>You should see a green square below.</p>
  <div id="container"></div>
<script>
// Insert from JavaScript to avoid parser doing something special.
let test_element = document.createElement('\u212A');
container.appendChild(test_element);
let test_element_with_ns = document.createElementNS('https://dummy.ns', '\u212A');
container.appendChild(test_element_with_ns);

test(() => {
  assert_equals(test_element.offsetHeight, 100);
}, 'CSS selector should match for Unicode uppercase element');

test(() => {
  // Elements in different namespace cannot compute style or height.
  // Test the height of the container instead.
  assert_equals(container.offsetHeight, 200);
}, 'Elements with namespace should work the same way');

test(() => {
  let e = document.querySelector('k');
  assert_equals(e, null);
}, '`querySelector` should not use Unicode case-folding');
</script>
</body>
